接續上一篇文章,這篇要繼續討論Text系列後半段的內容,以下粗體字為這篇實作需要使用的元件,大家準備好閱讀Text系列(2)了嗎,好了~我們出發吧~
向使用者呈現文字:
提供使用者輸入的元件,分為以下不同的輸入類型:
以下會實作顯示Text第2項和輸入Text第11~15項
下圖為最終呈現畫面
以下是完整的程式碼
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<TextView
android:id="@+id/tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Text系列元件"
android:textSize="20dp"
android:layout_marginTop="5dp"
/>
<EditText
android:id="@+id/edt1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:hint="輸入姓名"
android:layout_marginTop="5dp"
/>
<EditText
android:id="@+id/edt2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPassword"
android:hint="輸入密碼"
android:layout_marginTop="5dp"
/>
<EditText
android:id="@+id/edt3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="numberPassword"
android:hint="輸入密碼(數字)"
android:layout_marginTop="5dp"
/>
<EditText
android:id="@+id/edt4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textEmailAddress"
android:hint="輸入電子郵件"
android:layout_marginTop="5dp"
/>
<EditText
android:id="@+id/edt5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="phone"
android:hint="輸入電話號碼"
android:layout_marginTop="5dp"
/>
<EditText
android:id="@+id/edt6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPostalAddress"
android:hint="輸入郵政地址"
android:layout_marginTop="5dp"
/>
<EditText
android:id="@+id/edt7"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:gravity="start|top"
android:inputType="textMultiLine"
android:hint="多行輸入"
android:layout_marginTop="5dp"
/>
<EditText
android:id="@+id/edt8"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="time"
android:hint="輸入時間"
android:layout_marginTop="5dp"
/>
<EditText
android:id="@+id/edt9"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="date"
android:hint="輸入日期"
android:layout_marginTop="5dp"
/>
<EditText
android:id="@+id/edt10"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="number"
android:hint="輸入數字"
android:layout_marginTop="5dp"
/>
<EditText
android:id="@+id/edt11"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="輸入數字(正負號輸入)"
android:inputType="numberSigned"
android:layout_marginTop="5dp"
/>
<EditText
android:id="@+id/edt12"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="numberDecimal"
android:hint="輸入數字(提供一次點'.')"
android:layout_marginTop="5dp"
/>
<!--completionThreshold符合字元幾個將給予提示-->
<AutoCompleteTextView
android:id="@+id/autotv1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="我是AutoCompleteTextView,我會提示選項"
android:completionThreshold="1"
android:layout_marginTop="5dp"/>
<MultiAutoCompleteTextView
android:id="@+id/autotv2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="我是MultiAutoCompleteTextView,我會提示選項"
android:completionThreshold="1"
android:layout_marginTop="5dp"/>
<!--checked預設是否打勾-->
<CheckedTextView
android:id="@+id/chktv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="我是CheckedTextView"
android:textSize="20dp"
android:checked="false"
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:layout_marginTop="5dp"/>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/txtlayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="5dp">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="我是TextInputLayout裡的TextInputEditText" />
</com.google.android.material.textfield.TextInputLayout>
<!--Button-->
<!--設定元件的識別編號-->
<!--元件在版面的寬度為元件內容大小-->
<!--元件在版面的高度為元件內容大小-->
<!--距離間隔版面20sp-->
<!--按鈕文字為Button-->
<!--設定偵聽器-->
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20sp"
android:onClick="listener"
android:text="送出"
android:layout_marginTop="5dp"
/>
</LinearLayout>
</ScrollView>
</LinearLayout>
CheckedTextView=>
android:checked="false"可預設是否打勾
android:checkMark="?android:attr/listChoiceIndicatorMultiple"這很重要,這攸關按鈕是否會出現
AutoCompleteTextView、MultiAutoCompleteTextView=>
completionThreshold可以設定符合幾個字元將給予使用者選項提示
這次與上篇大家一樣可以參考一下各個輸入Text鍵盤允許輸入的資料型態為何
CheckedTextView:顯示文字又含有checkbox的功能
Number(Signed):輸入數字(支援正負號輸入)
Number(Decimal):輸入數字(限於"."的使用僅限一次)
AutoCompleteTextView:輸入時提供使用者提示輸入選項
MultiAutoCompleteTextView:輸入時提供使用者提示輸入選項(可以多值輸入)
TextInputLayout:輸入提示不因輸入而消失
輸入前:
輸入時:
有甚麼疑問歡迎打家下方留言討論喔~
Thank you for your time.
[Day07]Android學習-元件介紹-Text系列(1)